<!-- 检测更新 -->
<template>
    <div class='update'>
        <van-nav-bar title="检测更新" left-arrow @click-left="goBack" />
        <p v-if="isUptoDate">已是最新版本</p>
        <div v-else>
            <p>已有最新版本:安平宝V10.01</p>
            <p style="background-color: #4b77e4 ;color:white;width: 30%;margin: 0 auto;line-height:30px;height: 30px;border-radius: 3px;" @click="update">立即更新</p>
            <van-divider>更新内容</van-divider>
            <div style="width: 90%;margin: auto;font-size: 14px" v-html="text"></div>
            
        </div>
    </div>
</template>

<script>
    //这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
    //例如：import 《组件名称》 from '《组件路径》';
    import Vue from 'vue'
    import { Toast } from 'vant'
    Vue.use(Toast)
    export default {
        name: 'Update',
        //import引入的组件需要注入到对象中才能使用
        components: {},
        data() {
            //这里存放数据
            return {
                isUptoDate: false,
                // banben: plus.runtime.version,
                banben:2,
                wgtUrl: "",
                text:""
            };
        },
        //监听属性 类似于data概念
        computed: {},
        //监控data中的数据变化
        watch: {},
        //方法集合
        methods: {
            goBack() {
                window.history.length > 1 ? this.$router.go(-1) : this.$router.push('/')
            },
            update(){
                 plus.nativeUI.confirm("确定下载更新？", function (e) {
                                if (e.index == 0) {

                                    that.downWgt();	// 下载wgt资源包
                                    //								mui.alert('下载中！') 
                                } else { }
                            }, "检测到最新版本", ["下载", "取消"]);
            },
            downWgt() {

                let that = this
                const wgtUrl = this.wgtUrl
                plus.nativeUI.showWaiting("下载更新");
                plus.downloader.createDownload(wgtUrl, { filename: "_doc/update/" }, function (d, status) {
                    if (status == 200) {
                        console.log("下载更新成功：" + d.filename);
                        that.installWgt(d.filename);	// 安装wgt资源包
                    } else {
                        console.log("下载更新失败！");
                        plus.nativeUI.toast("下载更新失败！");
                    }
                    plus.nativeUI.closeWaiting();
                }).start();
            },
            installWgt(path) {
                plus.nativeUI.showWaiting("安装更新");
                plus.runtime.install(path, {}, function () {
                    plus.nativeUI.closeWaiting();
                    console.log("安装更新成功！");
                    plus.nativeUI.alert("更新完成！", function () {
                        //  更新完成后重启应用
                        plus.runtime.restart();
                    });
                }, function (e) {
                    plus.nativeUI.closeWaiting();
                    console.log("安装更新失败！[" + e.code + "]：" + e.message);
                    plus.nativeUI.toast("安装更新失败！");
                });
            }
        },
        //生命周期 - 创建完成（可以访问当前this实例）
        created() {
            // const toast = Toast.loading({
            // duration: 0,       // 持续展示 toast
            // forbidClick: true, // 禁用背景点击
            // loadingType: 'spinner'
            // });
            // this.isUptoDate = false
            // let second = 2;
            // const timer = setInterval(() => {
            // second--;
            // if (!second){
            //     this.isUptoDate = true
            //     clearInterval(timer);
            //     Toast.clear();
            // }
            // }, 1000);

        },
        //生命周期 - 挂载完成（可以访问DOM元素）
        mounted() {
            let that = this
            // this.banben = this.$route.params.banben
            console.log(this.banben)
            // 调取后端接口 判断版本是否相同
            var u = navigator.userAgent;
            let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
            let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);

            if (isAndroid) {
                this.$axios.get('/get/getAppVersion', {

                }).then((res) => {

                    console.log("666",res)
                    const { message, data, status } = res
                    if (status == 200 && data.code == 200) {
                        const { version, url ,text} = data.data
                        this.wgtUrl = url
                        console.log("地址", this.wgtUrl)
                        if (this.banben == version) {
                            this.isUptoDate = true
                        } else {  //有更新版本
                            this.isUptoDate = false
                            this.banben = version  
                            this.text=text
                           
                        }
                    }
                })

            } else if (isiOS) {

                this.isUptoDate = true
            }


        },
        beforeCreate() { }, //生命周期 - 创建之前
        beforeMount() { }, //生命周期 - 挂载之前
        beforeUpdate() { }, //生命周期 - 更新之前
        updated() { }, //生命周期 - 更新之后
        beforeDestroy() { }, //生命周期 - 销毁之前
        destroyed() { }, //生命周期 - 销毁完成
        activated() { }, //如果页面有keep-alive缓存功能，这个函数会触发
    }
</script>
<style lang='scss' scoped>
    //@import url(); 引入公共css类
    .update {
        p {
            line-height: 0.88rem;
            text-align: center;
            font-size: 0.32rem;

        }
    }
</style>